package com.wicket.okrapp.biz.service.dto.common;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;

import lombok.Data;
import java.util.Objects;

/**
 * @desc MidBasicCheckTargetDutyDto
 * @使用场景
 */
@Data
public class MidBasicCheckTargetDutyDto
  extends BaseDto
  implements Serializable {

  /**
   * 指标ID
   */
  @ApiModelProperty("指标ID")
  private String objectiveId;

  /**
   * 组织内部门身份名称
   */
  @ApiModelProperty("组织内部门身份名称")
  private String virtualOrgDeptStatus;

  /**
   * 虚拟组织下部门ID
   */
  @ApiModelProperty("虚拟组织下部门ID")
  private String deptId;

  /**
   * 部门简称
   */
  @ApiModelProperty("部门简称")
  private String deptShortName;

  /**
   * 组内职务名称
   */
  @ApiModelProperty("组内职务名称")
  private String virtualOrganizationPosition;

  /**
   * 虚拟组织成员就职记录ID
   */
  @ApiModelProperty("虚拟组织成员就职记录ID")
  private String virtualOrgInductionRecordId;

  /**
   * 个人账号
   */
  @ApiModelProperty("个人账号")
  private String userId;

  /**
   * 真实头像
   */
  @ApiModelProperty("真实头像")
  private String userFace;

  /**
   * 真实姓名
   */
  @ApiModelProperty("真实姓名")
  private String idCardName;

  /**
   * 用户昵称
   */
  @ApiModelProperty("用户昵称")
  private String nickName;
/**
     * 冗余指标业务类型 NUMBER_GROWTH:数量增长型 NUMBER_DECLINE:数量降幅型 PERCENTAGE_GROWTH:百分比增长型 PERCENTAGE_DECLINE:百分比降幅型 PROGRESS:进度型 RATIO_GROWTH:比率增长型 RATIO_DECLINE:比率降幅型 SUBJECTIVE_QUALITATIVE:主观定性
     */
    @ApiModelProperty("冗余指标业务类型")
    private String	 targetValueType;
@Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      MidBasicCheckTargetDutyDto that = (MidBasicCheckTargetDutyDto) o;
      return  objectiveId == that.objectiveId&&virtualOrgDeptStatus == that.virtualOrgDeptStatus&&deptId == that.deptId&&deptShortName == that.deptShortName&&virtualOrganizationPosition == that.virtualOrganizationPosition&&virtualOrgInductionRecordId == that.virtualOrgInductionRecordId&&userId == that.userId&&userFace == that.userFace&&idCardName == that.idCardName&&nickName == that.nickName&&targetValueType == that.targetValueType;
    }
@Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), objectiveId,virtualOrgDeptStatus,deptId,deptShortName,virtualOrganizationPosition,virtualOrgInductionRecordId,userId,userFace,idCardName,nickName,targetValueType);
    }

}
